package org.aeon.gamechatnest.mapper;

import org.aeon.gamechatnest.dto.UserVo;
import org.aeon.gamechatnest.pojo.ServerMembers;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author 89342 && liys
 * @description 针对表【server_members(服务器成员表)】的数据库操作Mapper
 * @createDate 2024-05-09 09:25:50
 * @Entity org.aeon.gamechatnest.pojo.ServerMembers
 */
@Mapper
public interface ServerMembersMapper {
    /**
     * 新增服务器成员
     *
     * @param serverMembers
     * @return
     */
    int add(ServerMembers serverMembers);

    /**
     * 通过服务器和用户id删除服务器成员
     *
     * @param serverId
     * @param userId
     * @return
     */
    @Delete("delete from server_members where server_id=#{serverId} and user_id=#{userId}")
    int deleteById(Long serverId, Long userId);

    /**
     * 修改服务器下用户的备注名
     *
     * @param serverMembers
     * @return
     */
    int updateNoteName(ServerMembers serverMembers);

    /**
     * 通过服务器id查询指定服务器下的所有用户
     *
     * @param serverId 服务器id
     * @return 用户视图列表
     */
    List<UserVo> getAllByServerId(Long serverId);

    /**
     * 通过服务器id查询指定服务器下的所有用户
     *
     * @param serverId 服务器id
     * @return 用户视图列表
     */
    List<Long> getUserIdByServerId(Long serverId);
}




